home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / hypertxt / msdos / montanac / ftp < prev    next >
Text File  |  1993-03-08  |  12KB  |  321 lines

  1. Extracted from Brendan Kehoe's ZEN AND THE ART OF THE INTERNET  <PERMIT.ZEN>
  2.  
  3.  Anonymous FTP
  4.  
  5. FTP (File Transfer Protocol) is the primary method of transferring
  6. files over the Internet.  On many systems, it's also the name of the
  7. program that implements the protocol. Given proper permission, it's
  8. possible to copy a file from a computer in South Africa to one in Los
  9. Angeles at very fast speeds (on the order of 5--10K per second).
  10. This normally requires either a user id on both systems or a special
  11. configuration set up by the system administrator(s).
  12.  
  13. There is a good way around this restriction---the anonymous FTP
  14. service.  It essentially will let anyone in the world have access to
  15. a certain area of disk space in a non-threatening way.  With this,
  16. people can make files publicly available with little hassle.  Some
  17. systems have dedicated entire disks or even entire computers to
  18. maintaining extensive archives of source code and information.  They
  19. include gatekeeper.dec.com (Digital), wuarchive.wustl.edu (Washington
  20. University in Saint Louis), and archive.cis.ohio-state.edu (The Ohio
  21. State University).
  22.  
  23. The process involves the ``foreign'' user (someone not on the system
  24. itself) creating an FTP connection and logging into the system as the
  25. user anonymous, with an arbitrary password:
  26.  
  27. Name (foo.site.com:you): anonymous
  28. Password: jm@south.america.org
  29.  
  30. Custom and netiquette dictate that people respond to the
  31. Password: query with an email address so that the sites can
  32. track the level of FTP usage, if they desire.  (Addresses for
  33. information on email addresses).
  34.  
  35. The speed of the transfer depends on the speed of the underlying
  36. link. A site that has a 9600bps SLIP connection will not get the same
  37. throughput as a system with a 56k leased line (The Physical
  38. Connection, for more on what kinds of connections can exist in a
  39. network).  Also, the traffic of all other users on that link will
  40. affect performance.  If there are thirty people all FTPing from one
  41. site simultaneously, the load on the system (in addition to the
  42. network connection) will degrade the overall throughput of the
  43. transfer.
  44.  
  45. FTP Etiquette
  46.  
  47. Lest we forget, the Internet is there for people to do work.  People
  48. using the network and the systems on it are doing so for a purpose,
  49. whether it be research, development, whatever.  Any heavy activity
  50. takes away from the overall performance of the network as a whole.
  51.  
  52. The effects of an FTP connection on a site and its link can vary; the
  53. general rule of thumb is that any extra traffic created detracts from
  54. the ability of that site's users to perform their tasks.  To help be
  55. considerate of this, it's highly recommended that FTP sessions
  56. be held only after normal business hours for that site, preferably
  57. late at night.  The possible effects of a large transfer will be less
  58. destructive at 2 a.m. than 2 p.m.  Also, remember that if it's past
  59. dinner time in Maine, it's still early afternoon in California---think
  60. in terms of the current time at the site that's being visited, not of
  61. local time.
  62.  
  63. Basic Commands
  64.  
  65. While there have been many extensions to the various FTP clients out
  66. there, there is a de facto ``standard'' set that everyone expects to
  67. work.  For more specific information, read the manual for your
  68. specific FTP program.  This section will only skim the bare minimum of
  69. commands needed to operate an FTP session.
  70.  
  71.  Creating the Connection
  72.  
  73. The actual command to use FTP will vary among operating systems; for
  74. the sake of clarity, we'll use FTP here, since it's the most
  75. general form.
  76.  
  77. There are two ways to connect to a system---using its hostname
  78. or its Internet number.  Using the hostname is usually preferred.
  79. However, some sites aren't able to resolve hostnames properly,
  80. and have no alternative.  We'll assume you're able to use hostnames
  81. for simplicity's sake.  The form is
  82.  
  83. ftp somewhere.domain
  84.  
  85. Domains for help with reading and using domain names
  86. (in the example below, somewhere.domain is ftp.uu.net).
  87.  
  88. You must first know the name of the system you want to connect to.
  89. We'll use ftp.uu.net as an example.  On your system, type:
  90.  
  91. ftp ftp.uu.net
  92.  
  93.  (the actual syntax will vary depending on the type of system the
  94. connection's being made from).  It will pause momentarily then respond
  95. with the message
  96.  
  97. Connected to ftp.uu.net.
  98.  
  99. and an initial prompt will appear:
  100.  
  101. 220 uunet FTP server (Version 5.100 Mon Feb 11 17:13:28 EST 1991) ready.
  102. Name (ftp.uu.net:jm):
  103.  
  104. to which you should respond with anonymous:
  105.  
  106. 220 uunet FTP server (Version 5.100 Mon Feb 11 17:13:28 EST 1991) ready.
  107. Name (ftp.uu.net:jm): anonymous
  108.  
  109. The system will then prompt you for a password; as noted previously, a
  110. good response is your email address:
  111.  
  112. 331 Guest login ok, send ident as password.
  113. Password: jm@south.america.org
  114. 230 Guest login ok, access restrictions apply.
  115. ftp>
  116.  
  117. The password itself will not echo.  This is to protect a user's
  118. security when he or she is using a real account to FTP files between
  119. machines.  Once you reach the ftp> prompt, you know you're
  120. logged in and ready to go.
  121.  
  122. Notice the ftp.uu.net:joe in the Name: prompt?  That's
  123. another clue that anonymous FTP is special: FTP expects a normal user
  124. accounts to be used for transfers.
  125.  
  126.  dir
  127. At the ftp> prompt, you can type a number of commands to perform
  128. various functions.  One example is dir---it will list the files
  129. in the current directory. Continuing the example from above:
  130.  
  131. ftp> dir
  132.  
  133. 200 PORT command successful.
  134. 150 Opening ASCII mode data connection for /bin/ls.
  135. total 3116
  136. drwxr-xr-x  2 7        21            512 Nov 21  1988 .forward
  137. -rw-rw-r--  1 7        11              0 Jun 23  1988 .hushlogin
  138. drwxrwxr-x  2 0        21            512 Jun  4  1990 Census
  139. drwxrwxr-x  2 0        120           512 Jan  8 09:36 ClariNet
  140.                 ... etc etc ...
  141. -rw-rw-r--  1 7        14          42390 May 20 02:24 newthisweek.Z
  142.                 ... etc etc ...
  143. -rw-rw-r--  1 7        14        2018887 May 21 01:01 uumap.tar.Z
  144. drwxrwxr-x  2 7        6            1024 May 11 10:58 uunet-info
  145.  
  146. 226 Transfer complete.
  147. 5414 bytes received in 1.1 seconds (4.9 Kbytes/s)
  148. ftp>
  149.  
  150. The file newthisweek.Z was specifically included because we'll
  151. be using it later.  Just for general information, it happens to be a
  152. listing of all of the files added to UUNET's archives during the past
  153. week.
  154.  
  155. The directory shown is on a machine running the Unix operating
  156. system---the dir command will produce different results on other
  157. operating systems (e.g. TOPS, VMS, et al.).  Learning to recognize
  158. different formats will take some time.  After a few weeks of
  159. traversing the Internet, it proves easier to see, for example, how
  160. large a file is on an operating system you're otherwise not acquainted
  161. with.
  162.  
  163. With many FTP implementations, it's also possible to take the output
  164. of dir and put it into a file on the local system with
  165.  
  166. ftp> dir n* outfilename
  167.  
  168. the contents of which can then be read outside of the live FTP
  169. connection; this is particularly useful for systems with very long
  170. directories (like ftp.uu.net).  The above example would put the
  171. names of every file that begins with an n into the local file
  172. outfilename.
  173.  
  174.  cd
  175.  
  176. At the beginning of an FTP session, the user is in a ``top-level''
  177. directory.  Most things are in directories below it (e.g. /pub).  To
  178. change the current directory, one uses the cd command.  To change to
  179. the directory pub, for example, one would type
  180.  
  181. ftp> cd pub
  182.  
  183. which would elicit the response
  184.  
  185. 250 CWD command successful.
  186.  
  187. Meaning the ``Change Working Directory'' command (cd) worked
  188. properly.  Moving ``up'' a directory is more system-specific---in Unix
  189. use the command cd .., and in VMS, cd [-].
  190.  
  191.  get and put
  192.  
  193. The actual transfer is performed with the get and put
  194. commands.  To get a file from the remote computer to the local
  195. system, the command takes the form:
  196.  
  197. ftp> get filename
  198.  
  199. where filename is the file on the remote system.  Again using
  200. ftp.uu.net as an example, the file newthisweek.Z can be
  201. retrieved with
  202.  
  203. ftp> get newthisweek.Z
  204. 200 PORT command successful.
  205. 150 Opening ASCII mode data connection for newthisweek.Z (42390 bytes).
  206. 226 Transfer complete.
  207. local: newthisweek.Z remote: newthisweek.Z
  208. 42553 bytes received in 6.9 seconds (6 Kbytes/s)
  209. ftp>
  210.  
  211. The section below on using binary mode instead of ASCII will describe
  212. why this particular choice will result in a corrupt and subsequently
  213. unusable file.
  214.  
  215. If, for some reason, you want to save a file under a different name
  216. (e.g. your system can only have 14-character filenames, or can only
  217. have one dot in the name), you can specify what the local filename
  218. should be by providing get with an additional argument
  219.  
  220. ftp> get newthisweek.Z uunet-new
  221.  
  222. which will place the contents of the file newthisweek.Z in
  223. uunet-new on the local system.
  224.  
  225. The transfer works the other way, too.  The put command will
  226. transfer a file from the local system to the remote system.  If the
  227. permissions are set up for an FTP session to write to a remote
  228. directory, a file can be sent with
  229.  
  230. ftp> put filename
  231.  
  232. As with get, put will take a third argument, letting you
  233. specify a different name for the file on the remote system.
  234.  
  235.  ASCII vs Binary
  236.  
  237. In the example above, the file newthisweek.Z was transferred, but
  238. supposedly not correctly.  The reason is this: in a normal ASCII
  239. transfer (the default), certain characters are translated between
  240. systems, to help make text files more readable.  However, when binary
  241. files (those containing non-ASCII characters) are transferred, this
  242. translation should not take place.  One example is a binary
  243. program---a few changed characters can render it completely useless.
  244.  
  245. To avoid this problem, it's possible to be in one of two modes---ASCII
  246. or binary.  In binary mode, the file isn't translated in any way.
  247. What's on the remote system is precisely what's received.  The
  248. commands to go between the two modes are:
  249.  
  250. ftp> ascii
  251. 200 Type set to A.   (Note the A, which signifies ASCII mode.)
  252.  
  253. ftp> binary
  254. 200 Type set to I.   (Set to Image format, for pure binary transfers.)
  255.  
  256.  
  257. Note that each command need only be done once to take effect; if the
  258. user types binary, all transfers in that session are done in
  259. binary mode (that is, unless ascii is typed later).
  260.  
  261. The transfer of newthisweek.Z will work if done as:
  262.  
  263. ftp> binary
  264. 200 Type set to I.
  265. ftp> get newthisweek.Z
  266. 200 PORT command successful.
  267. 150 Opening BINARY mode data connection for newthisweek.Z (42390 bytes).
  268. 226 Transfer complete.
  269. local: newthisweek.Z remote: newthisweek.Z
  270. 42390 bytes received in 7.2 seconds (5.8 Kbytes/s)
  271.  
  272.  
  273. Note: The file size (42390) is different from that done
  274. in ASCII mode (42553) bytes; and the number 42390 matches the one
  275. in the listing of UUNET's top directory.  We can be relatively sure
  276. that we've received the file without any problems.
  277.  
  278.  mget and mput
  279.  
  280. The commands mget and mput allow for multiple file
  281. transfers using wildcards to get several files, or a whole set of
  282. files at once, rather than having to do it manually one by one.  For
  283. example, to get all files that begin with the letter f, one
  284. would type
  285.  
  286. ftp> mget f*
  287.  
  288. Similarly, to put all of the local files that end with .c:
  289.  
  290. ftp> mput *.c
  291.  
  292. Rather than reiterate what's been written a hundred times before,
  293. consult a local manual for more information on wildcard matching
  294. (every DOS manual, for example, has a section on it).
  295.  
  296. Normally, FTP assumes a user wants to be prompted for every file in a
  297. mget or mput operation.  You'll often need to get a whole set of
  298. files and not have each of them confirmed---you know they're all
  299. right.  In that case, use the prompt command to turn the queries off.
  300.  
  301. ftp> prompt
  302. Interactive mode off.
  303.  
  304. Likewise, to turn it back on, the prompt command should simply
  305. be issued again.
  306.  
  307. Joe Granrose's List
  308. Monthly, Joe Granrose (odin@pilot.njin.net) posts to Usenet
  309. (Usenet News) an extensive list of sites offering anonymous FTP
  310. service.  It's available in a number of ways:
  311.  
  312. The Usenet groups comp.misc and comp.sources.wanted
  313.  
  314. Anonymous FTP from pilot.njin.net [128.6.7.38], in
  315. /pub/ftp-list.
  316.  
  317. Write to odin@pilot.njin.net with a Subject: line of listserv-request
  318. and a message body of send help.  Please don't bother Joe with your
  319. requests---the server will provide you with the list.
  320.  
  321.